30 research outputs found
Algorithms for Secretary Problems on Graphs and Hypergraphs
We examine several online matching problems, with applications to Internet
advertising reservation systems. Consider an edge-weighted bipartite graph G,
with partite sets L, R. We develop an 8-competitive algorithm for the following
secretary problem: Initially given R, and the size of L, the algorithm receives
the vertices of L sequentially, in a random order. When a vertex l \in L is
seen, all edges incident to l are revealed, together with their weights. The
algorithm must immediately either match l to an available vertex of R, or
decide that l will remain unmatched.
Dimitrov and Plaxton show a 16-competitive algorithm for the transversal
matroid secretary problem, which is the special case with weights on vertices,
not edges. (Equivalently, one may assume that for each l \in L, the weights on
all edges incident to l are identical.) We use a similar algorithm, but
simplify and improve the analysis to obtain a better competitive ratio for the
more general problem. Perhaps of more interest is the fact that our analysis is
easily extended to obtain competitive algorithms for similar problems, such as
to find disjoint sets of edges in hypergraphs where edges arrive online. We
also introduce secretary problems with adversarially chosen groups. Finally, we
give a 2e-competitive algorithm for the secretary problem on graphic matroids,
where, with edges appearing online, the goal is to find a maximum-weight
acyclic subgraph of a given graph.Comment: 15 pages, 2 figure
Single-Sink Network Design with Vertex Connectivity Requirements
We study single-sink network design problems in undirected graphs
with vertex connectivity requirements. The input to these problems
is an edge-weighted undirected graph , a sink/root vertex
, a set of terminals , and integer . The goal is
to connect each terminal to via emph{vertex-disjoint}
paths. In the {em connectivity} problem, the objective is to find a
min-cost subgraph of that contains the desired paths. There is a
-approximation for this problem when cite{FleischerJW}
but for , the first non-trivial approximation was obtained
in the recent work of Chakraborty, Chuzhoy and Khanna
cite{ChakCK08}; they describe and analyze an algorithm with an
approximation ratio of where .
In this paper, inspired by the results and ideas in cite{ChakCK08},
we show an -approximation bound for a simple
greedy algorithm. Our analysis is based on the dual of a natural
linear program and is of independent technical interest. We use the
insights from this analysis to obtain an -approximation for the more general single-sink {em
rent-or-buy} network design problem with vertex connectivity
requirements. We further extend the ideas to obtain a
poly-logarithmic approximation for the single-sink {em buy-at-bulk}
problem when and the number of cable-types is a fixed
constant; we believe that this should extend to any fixed . We
also show that for the non-uniform buy-at-bulk problem, for each
fixed , a small variant of a simple algorithm suggested by
Charikar and Kargiazova cite{CharikarK05} for the case of
gives an approximation for larger .
These results show that for each of these problems, simple and
natural algorithms that have been developed for have good
performance for small
Pruning 2-Connected Graphs
Given an edge-weighted undirected graph with a specified set of
terminals, let the emph{density} of any subgraph be the ratio of
its weight/cost to the number of terminals it contains. If is
2-connected, does it contain smaller 2-connected subgraphs of
density comparable to that of ? We answer this question in the
affirmative by giving an algorithm to emph{prune} and find such
subgraphs of any desired size, at the cost of only a logarithmic
increase in density (plus a small additive factor).
We apply the pruning techniques to give algorithms for two NP-Hard
problems on finding large 2-vertex-connected subgraphs of low cost;
no previous approximation algorithm was known for either problem. In
the kv problem, we are given an undirected graph with edge
costs and an integer ; the goal is to find a minimum-cost
2-vertex-connected subgraph of containing at least
vertices. In the bv problem, we are given the graph with edge
costs, and a budget ; the goal is to find a 2-vertex-connected
subgraph of with total edge cost at most that maximizes
the number of vertices in . We describe an
approximation for the kv problem, and a bicriteria approximation
for the bv problem that gives an
approximation, while violating the budget by a factor of at most
Approximation Algorithms for Network Design and Orienteering
This thesis presents approximation algorithms for some NP-Hard combinatorial optimization problems on graphs and networks; in particular, we study problems related to Network Design. Under the widely-believed complexity-theoretic assumption that P is not equal to NP, there are no efficient (i.e., polynomial-time) algorithms that solve these problems exactly. Hence, if one desires efficient algorithms for such problems, it is necessary to consider approximate solutions: An approximation algorithm for an NP-Hard problem is a polynomial time algorithm which, for any instance of the problem, finds a solution whose value is guaranteed to be within a multiplicative factor of the value of an optimal solution to that instance. We attempt to design algorithms for which this factor, referred to as the approximation ratio of the algorithm, is as small as possible.
The field of Network Design comprises a large class of problems that deal with constructing networks of low cost and/or high capacity, routing data through existing networks, and many related issues. In this thesis, we focus chiefly on designing fault-tolerant networks. Two vertices u,v in a network are said to be k-edge-connected if deleting any set of k − 1 edges leaves u and v connected; similarly, they are k-vertex connected if deleting any set of k − 1 other vertices or edges leaves u and v connected. We focus on building networks that are highly connected, meaning that even if a small number of edges and nodes fail, the remaining nodes will still be able to communicate. A brief description of some of our results is given below.
We study the problem of building 2-vertex-connected networks that are large and have low cost. Given an n-node graph with costs on its edges and any integer k, we give an O(log n log k) approximation for the problem of finding a minimum-cost 2-vertex-connected subgraph containing at least k nodes. We also give an algorithm of similar approximation ratio for maximizing the number of nodes in a 2-vertex-connected subgraph subject to a budget constraint on the total cost of its edges. Our algorithms are based on a pruning process that, given a 2-vertex-connected graph, finds a 2-vertex-connected subgraph of any desired size and of density comparable to the input graph, where the density of a graph is the ratio of its cost to the number of vertices it contains. This pruning algorithm is simple and efficient, and is likely to find additional applications.
Recent breakthroughs on vertex-connectivity have made use of algorithms for element-connectivity problems. We develop an algorithm that, given a graph with some vertices marked as terminals, significantly simplifies the graph while preserving the pairwise element-connectivity of all terminals; in fact, the resulting graph is bipartite. We believe that our simplification/reduction algorithm will be a useful tool in many settings. We illustrate its applicability by giving algorithms to find many trees that each span a given terminal set, while being disjoint on edges and non-terminal vertices; such problems have applications in VLSI design and other areas. We also use this reduction algorithm to analyze simple algorithms for single-sink network design problems with high vertex-connectivity requirements; we give an O(k log n)-approximation for the problem of k-connecting a given set of terminals to a common sink. We study similar problems in which different types of links, of varying capacities and costs, can be used to connect nodes; assuming there are economies of scale, we give algorithms to construct low-cost networks with sufficient capacity or bandwidth to simultaneously support flow from each terminal to the common sink along many vertex-disjoint paths.
We further investigate capacitated network design, where edges may have arbitrary costs and capacities. Given a connectivity requirement R_uv for each pair of vertices u,v, the goal is to find a low-cost network which, for each uv, can support a flow of R_uv units of traffic between u and v. We study several special cases of this problem, giving both algorithmic and hardness results.
In addition to Network Design, we consider certain Traveling Salesperson-like problems, where the goal is to find short walks that visit many distinct vertices. We give a (2 + epsilon)-approximation for Orienteering in undirected graphs, achieving the best known approximation ratio, and the first approximation algorithm for Orienteering in directed graphs. We also give improved algorithms for Orienteering with time windows, in which vertices must be visited between specified release times and deadlines, and other related problems. These problems are motivated by applications in the fields of vehicle routing, delivery and transportation of goods, and robot path planning